Two for the Price of One: Lifting Separation Logic Assertions

نویسندگان

  • Jacob Thamsborg
  • Lars Birkedal
  • Hongseok Yang
چکیده

Recently, data abstraction has been studied in thecontext of separation logic, with noticeable practicalsuccesses: the developed logics have enabled cleanproofs of tricky challenging programs, such as subject-observer patterns, and they have become the basis of ef-ficient verification tools for Java (jStar), C (VeriFast)and Hoare Type Theory (Ynot). In this paper, we givea new semantic analysis of such logic-based approachesusing Reynolds’s relational parametricity. The core ofthe analysis is our lifting theorems, which give a soundand complete condition for when a true implication be-tween assertions in the standard interpretation entailsthat the same implication holds in a relational inter-pretation. Using these theorems, we provide an algo-rithm for identifying abstraction-respecting client-sideproofs; the proofs ensure that clients cannot distinguishtwo appropriately-related module implementations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Concurrent Separation Logic with Weak Updates

Concurrent Separation Logic (CSL) provides a simple but powerful technique for reasoning about shared-memory concurrent programs. Unfortunately, CSL and separation logic can only support “strong updates,” where mutation to a memory location is safe only if there is a strong memory separation. This severely limits the applicability of CSL since most statically typed languages (e.g., ML, Java, C#...

متن کامل

Heap-Dependent Expressions in Separation Logic

Separation logic is a popular specification language for imperative programs where the heap can only be mentioned through pointsto assertions. However, separation logic’s take on assertions does not match well with the classical view of assertions as boolean, side effectfree, potentially heap-dependent expressions from the host programming language familiar to many developers. In this paper, we...

متن کامل

A Machine-Checked Framework for Relational Separation Logic

Relational methods are gaining growing acceptance for specifying and verifying properties defined in terms of the execution of two programs—notions such as simulation, observational equivalence, non-interference, and continuity can be elegantly casted in this setting. In previous work, we have proposed program product construction as a technique to reduce relational verification to standard ver...

متن کامل

Modal Kleene Algebra and Partial Correctness

We enrich Kleene algebra by domain and codomain operators. These abstractions of relational notions give rise to four modal operators. The boxes and diamonds enjoy various symmetries via Galois connections and dualities. Lifting modal statements to modal operator semirings yields a further abstraction and thus a more elegant and concise “statefree” reasoning about modalities. We use this modal ...

متن کامل

Lightweight Separation

Lightweight separation is a novel approach to automatic reasoning about memory updates in pointer programs. It replaces the spatial formulae of separation logic, which complicate automation, by independent assertions about the memory content and the memory layout. As a result, assertions about the content can be treated by existing reasoners. The effect of memory updates is evaluated using spec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Logical Methods in Computer Science

دوره 8  شماره 

صفحات  -

تاریخ انتشار 2010